
js提交 json数据给php时的注意事项(加粗字体):
1.以uniapp举例, 微信小程序等都一样的
                                            uni.request({
                                                     url: ‘http://XXX.XXX.XXX/index.php/XXX/XXX/XXX’,
                                                     data: {
                                                         openId: openId, 
                                                         unionId: unionId, 
                                                         json1: JSON.stringify(jsonA), 
                                                         json2: JSON.stringify(jsonB), 
                                                     },
                                                     method:”POST”,
                                                     header: {
                                                          ‘Content-Type’: ‘application/x-www-form-urlencoded;charset=UTF-8’,
                                                     },
                                                     success: (res) => {     
                                                         console.log(res)                                                        
                                                     }
                                                 })
提交的json数据需要 JSON.stringify 转换为字符串形式。 header 需要为 ‘Content-Type’: ‘application/x-www-form-urlencoded;charset=UTF-8’。
2.php后端:
             $userdata[” json1″]=htmlspecialchars_decode($ json1 );
             $userdata[” json2″]=htmlspecialchars_decode($ json1 );
所接收的 json数据需要用 htmlspecialchars_decode 转换一下。即可存入mysql数据库。这样可避免,提交的json数据被自动转义的问题。
注意:php后端框架为 thinkphp
